package cn.baage.campus.utils;

import cn.baage.campus.enums.ExceptionType;
import cn.baage.campus.exception.BizException;
import cn.hutool.core.util.StrUtil;

/**
 * @Description: SQL 工具
 * @Author: 八阿哥
 * @url: baage.cn
 * @Version: 1.0
 **/
public class SqlUtils
{

    /**
     * 检查字符，防止注入绕过
     */
    public static String escapeOrderBySql(String value) {
        if (StrUtil.isNotEmpty(value) && !isValidOrderBySql(value)) {
            throw new BizException(ExceptionType.PARAM_NOT_VALID);
        }
        return value;
    }

    /**
     * 验证 order by 语法是否符合规范
     */
    public static boolean isValidOrderBySql(String value) {
        return value.matches("[a-zA-Z_\\s]+");
    }

}
